const path = require('path')
import build from './build.plugin.js'

export default {
    // Target (https://go.nuxtjs.dev/config-target)
    target: 'server',

    // Global page headers (https://go.nuxtjs.dev/config-head)
    head: {
        title: '推呼 SCRM',
        meta: [
            { charset: 'utf-8' },
            { name: 'viewport', content: 'width=device-width, initial-scale=1' },
            {
                hid: 'description',
                name: 'description',
                content: '推呼SCRM：让私域更精彩 推呼坚持以“客户为中心”，以服务为根本，致力于帮助企业解决行业运营痛点 实体经济数字化运营升级服务商，全流程私域流量运营解决方案提供商，致力于帮助客户数字化改造以及提高私域流量运营能力。',
            },
            {
                name: 'keywords',
                content: '推呼  SCRM 推呼SCRM 乐象  云智汇   数字化转型  tuihu  SCRM推呼',
            },
        ],
        /* link: [
            { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
            {
                rel: 'stylesheet',
                href: 'https://zwcf-test.oss-cn-shenzhen.aliyuncs.com/www/asset/swiper/swiper-bundle.min.css', // 引入swiper
            },
        ],
        script: [{
                src: 'https://zwcf-test.oss-cn-shenzhen.aliyuncs.com/www/asset/swiper/swiper-bundle.min.js', // 引入swiper
            },
            {
                hid: 'baidu_tj',
                src: '/js/baidu_tj.js',
            },
        ], */
    },

    // Global CSS (https://go.nuxtjs.dev/config-css)
    // 'ant-design-vue/dist/antd.less',
    css: [
        // 'ant-design-vue/dist/antd.less',
        '@assets/css/theme.scss',
        '@assets/css/custom.scss',
    ],
    styleResources: {
        scss: ['~/assets/css/variables.scss', '~/assets/css/mixin.scss'],
    },
    // Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
    plugins: ['@/plugins/axioz', { src: '@/plugins/element-ui.js', ssr: true }, '@/plugins/vant-ui.js', '@/plugins/common.js'],

    // Auto import components (https://go.nuxtjs.dev/config-components)
    components: true,

    // Modules for dev and build (recommended) (https://go.nuxtjs.dev/config-modules)
    buildModules: [
        // https://go.nuxtjs.dev/typescript
        '@nuxt/typescript-build',
    ],

    // Modules (https://go.nuxtjs.dev/config-modules)
    modules: [
        // https://go.nuxtjs.dev/axios
        '@nuxtjs/axios',
        // https://go.nuxtjs.dev/pwa
        // '@nuxtjs/pwa',
        // https://go.nuxtjs.dev/content
        '@nuxt/content',
        // 注入less scss变量
        '@nuxtjs/style-resources',
        '~/modules/error/index.js',
    ],

    router: {
        // middleware: 'i18n',
    },
    generate: {
        // routes: ['/', '/en'],
    },

    // Axios module configuration (https://go.nuxtjs.dev/config-axios)
    axios: {
        proxy: true, // Can be also an object with default options
    },

    proxy: {
        '/api/': {
            target: 'http://api.local.ny6.com:3080',
            credentials: true, // 表示跨域请求时是否需要使用凭证
            // pathRewrite: { '^/api/': '' },
        },
    },

    server: {
        port: 4567, // default: 3000
        host: '0.0.0.0', // default: localhost,
    },

    // Content module configuration (https://go.nuxtjs.dev/config-content)
    content: {},

    // 公共变量变量，可在客户端服务端访问，组件this.$config访问
    publicRuntimeConfig: {
        phpURL: process.env.PHP_URL,
        subtree: process.env.SUBTREE,
        tokenKey: process.env.TOKEN_KEY,
        domain: process.env.DOMAIN,
    },

    // Build Configuration (https://go.nuxtjs.dev/config-build)
    build: {
        extractCSS: true,
        publicPath: process.env.PUBLIC_PATH,
        styleResources: {
            // less: ['./assets/css/variables.less'],
        },
        vendor: ['axios', 'element-ui', 'vue-content-placeholders', 'vant-ui'],
        loaders: {
            /* less: {
              lessOptions: {
                javascriptEnabled: true,
                modifyVars: {
                  hack:
                    'true; @import "' +
                    path.resolve(__dirname, './assets/css/variables.less') +
                    '"',
                },
              },
            }, */
        },
        babel: {
            plugins: [
                /*  [
                  'import',
                  {
                    libraryName: 'ant-design-vue',
                    libraryDirectory: 'es',
                    // style: true,
                    style: (name) => {
                      return `${name}/style/index.less`
                    },
                  },
                  'ant-design-vue',
                ], */
                [
                    'import',
                    {
                        libraryName: 'vant',
                        style: (name) => {
                            return `${name}/style/less.js`
                        },
                    },
                    'vant',
                ],
            ],
        },
        postcss: {
            // 添加插件名称作为键，参数作为值
            // plugins: {
            //   'postcss-px-to-viewport': {
            //     unitToConvert: 'px', // 默认值`px`，需要转换的单位
            //     viewportWidth: 1920, // 视窗的宽度,对应设计稿宽度
            //     // viewportHeight: 667, // 视窗的高度, 根据375设备的宽度来指定，一般是667，也可不配置
            //     // unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数
            //     // propList: ["*"], // 转化为vw的属性列表
            //     // viewportUnit: "vw", // 指定需要转换成视窗单位
            //     // fontViewportUnit: "vw", // 字体使用的视窗单位
            //     // selectorBlaskList: [".ignore-"], // 指定不需要转换为视窗单位的类
            //     // mediaQuery: false, // 允许在媒体查询中转换`px`
            //     // minPixelValue: 1, // 小于或等于`1px`时不转换为视窗单位
            //     replace: true, // 是否直接更换属性值而不添加备用属性
            //     // exclude: [/(\/|\\)(node_modules)(\/|\\)/], // 忽略某些文件夹下的文件或特定文件
            //     // landscape: false, // 是否添加根据landscapeWidth生成的媒体查询条件 @media (orientation: landscape)
            //     // landscapeUnit: "vw", // 横屏时使用的单位
            //     // landscapeWidth: 1280 // 横屏时使用的视窗宽度
            //   },
            // },
        },
        transpile: [/ant-design-vue/, /vant.*?less/],
        extend(config) {
            if (build.aliOssPlugin) {
                config.plugins.push(build.aliOssPlugin)
            }
            // config.resolve.alias['@ant-design/icons/lib/dist$'] = path.resolve(
            //   __dirname,
            //   './plugins/antd-icons.js'
            // ) // 引入需要的
        },
    },
}